package cn.edu.ctbu.datajpa01.service;

import cn.edu.ctbu.datajpa01.domain.Schedule;
import cn.edu.ctbu.datajpa01.domain.Student;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * @author losen
 * @version 1.0
 * @DateTime 2023/1/10 15:38
 */
public interface ScheduleService {

    List<Schedule> findAll();

    /**
     * 根据课程名称查询
     * @param name
     * @return
     */
    List<Schedule> findByName(String name);

    /**
     * 查询全部
     * @param pageable
     * @return
     */
    Page<Schedule> findAll(Pageable pageable);

    /**
     * 带过滤
     * @param studentExample
     * @param pageable
     * @return
     */
    Page<Schedule> findAll(Example<Schedule> studentExample, Pageable pageable);


    /**
     * 新增课程
     * @param schedule
     * @return
     */
    Schedule insert(Schedule schedule);

    /**
     * 根据id查询课程
     * @param id
     * @return
     */
    Schedule getById(Integer id);


    /**
     * 修改课程信息
     * @param schedule
     * @return
     */
    Schedule update(Schedule schedule);

    void delete(Schedule schedule);

    void delete(Integer id);
}
